#pragma once
#include "Header.h"
#include <map>

class CVehHook2
{
private:
    LPVOID m_lpVeh;
    static std::map<ULONG_PTR, ULONG_PTR> m_VehHook2Map;

public:
    CVehHook2();
    ~CVehHook2();

protected:
    static LONG NTAPI VectoredExceptionHandler(IN PEXCEPTION_POINTERS lpExceptionPointers);

public:
    BOOL AddVehHook2(IN ULONG_PTR SrcFunc, IN ULONG_PTR NewFunc, IN DWORD dwId);
    BOOL Remove(IN ULONG_PTR SrcFunc);
};
